# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=xapian-bindings
pkgver=1.4.16
pkgrel=1
pkgdesc="Binding libraries for xapian"
url="http://www.xapian.org"
arch="all"
license="GPL-2.0-or-later"
# Disabled check for now since ruby smoketest fails
options="!check"
_py_makedepends="
	py3-sphinx-autobuild py3-sphinx
	py3-requests py3-setuptools
	py3-urllib3 py3-chardet py3-idna
	python3-dev py3-certifi"
_php_makedepends="php7-dev"
_perl_makedepends="perl-dev"
_lua_makedepends="lua5.3-dev"
_ruby_makedepends="ruby-dev ruby ruby-rdoc ruby-irb"
_tcl_makedepends="tcl-dev"

makedepends="automake autoconf libtool bash xapian-core-dev sphinx
	$_py_makedepends
	$_php_makedepends
	$_perl_makedepends
	$_lua_makedepends
	$_ruby_makedepends
	$_tcl_makedepends"
subpackages="$pkgname-perl $pkgname-lua $pkgname-doc
	$pkgname-python3 $pkgname-ruby $pkgname-tcl
	$pkgname-php7"
source="http://www.oligarchy.co.uk/xapian/$pkgver/xapian-bindings-$pkgver.tar.xz"


prepare() {
	default_prepare
	aclocal && autoconf
	libtoolize
	autoreconf -fvi
	# workaround for non-existing-dir while build docs for python
	mkdir -p python3/docs/_static
}

build() {
	export LUA=/usr/bin/lua5.3
	export LUA_INC=/usr/include/lua5.3
	export LUA_LIB=/usr/lib/lua/5.3
	export LUA_SO=.so
	export PERL=/usr/bin/perl
	export PERL_LIB=/usr/share/perl5/vendor_perl
	export PERL_ARCH=/usr/share/perl5/vendor_perl
	export PHP7=/usr/bin/php7
	export PHP_CONFIG7=/usr/bin/php-config7
	export PYTHON3=/usr/bin/python3
	export RUBY=/usr/bin/ruby
	export RUBY_LIB=/usr/lib/ruby
	export RUBY_LIB_ARCH=/usr/lib/ruby
	export TCLSH=/usr/bin/tclsh8.6
	export TCL_LIB=/usr/lib/tcl8.6/$pkgname-$pkgver
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--with-perl \
		--with-lua \
		--with-php7 \
		--with-python3 \
		--with-ruby \
		--with-tcl \
		XAPIAN_CONFIG=/usr/bin/xapian-config
	make
}

package() {
	make DESTDIR=$pkgdir install
}

php7() {
	pkgdesc="PHP7 bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/share/php7 \
		"$subpkgdir"/usr/lib/php7/modules \
		"$subpkgdir"/etc/php7/conf.d
	echo ';extension=xapian.so' > "$subpkgdir/etc/php7/conf.d/xapian.ini"

	if [ -d "$pkgdir"/usr/lib/php7/modules ]; then
		mv "$pkgdir"/usr/lib/php7/modules/* "$subpkgdir"/usr/lib/php7/modules/
	else
		mv "$pkgdir"/usr/lib/php7/* "$subpkgdir"/usr/lib/php7/
	fi
}

perl() {
	pkgdesc="Perl bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/share/perl5
	mv "$pkgdir"/usr/share/perl5 "$subpkgdir"/usr/share/
}

lua() {
	pkgdesc="Lua 5.3 bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/lua "$subpkgdir"/usr/lib
}

python3() {
	pkgdesc="Python3 bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib
}

ruby() {
	pkgdesc="Ruby bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/ruby "$subpkgdir"/usr/lib
}

tcl() {
	pkgdesc="Tcl bindings for the Xapian search engine library"

	install -d "$subpkgdir"/usr/lib/tcl8.6
	mv "$pkgdir"/usr/lib/tcl8.6/$pkgname-$pkgver "$subpkgdir"/usr/lib/tcl8.6
}

sha512sums="afdc4379c8dc8381813eefcaf761ea560a23ba6718a54c61874c0d29786b9f49dd548ed3854fee38689c273acebb4637833b8cf5c75d0c2ed05df83384e59113  xapian-bindings-1.4.16.tar.xz"
